package org.springframework.core.convert.converter;

/**
 * @Name ConverterRegistry
 * @Description: 类型转换器 [注册] 接口
 * @Version v1.0.0
 * @Author: lichao
 * @Date: 2024-04-11 15:18:45
 **/
public interface ConverterRegistry {

    /**
     * 注册 [基础] 类型转换器
     *
     * @param converter [基础] 类型转换器
     * @version v1.0.0
     * @author lichao
     * @date 2024-04-11 15:19:48
     */
    void addConverter(Converter<?, ?> converter);

    /**
     * 注册 [工厂] 类型转换器
     *
     * @param converterFactory [工厂] 类型转换器
     * @version v1.0.0
     * @author lichao
     * @date 2024-04-11 15:20:11
     */
    void addConverterFactory(ConverterFactory<?, ?> converterFactory);

    /**
     * 注册 [通用] 类型转换器
     *
     * @param converter [通用] 类型转换器
     * @version v1.0.0
     * @author lichao
     * @date 2024-04-11 15:20:27
     */
    void addGenericConverter(GenericConverter converter);

}
